<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
     <meta name='viewport' content='width=device-width, initial-scale=1.0'>
     <title>基础变态题</title>
     <link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css'>
     <script src='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js'></script>
</head>
<body>
     <pre>
        <code style='max-height: 400px;'>
            // 
            console.log(!(!"Number(undefined)"));// !(!true) = true
            // 
            isNaN(parseInt(new Date())) + Number([1]) + typeof undefined
            console.log(isNaN(parseInt(new Date())) + Number([1]) + typeof undefined); // is(NaN) => true ==> // true + 1 + 'undefined'
            // 
            Boolean(Number("")) + !isNaN(Number(null)) + Boolean("parseInt([])") + typeof !(null) // false + true + true + 'Boolean' ==> 2Bollean
            console.log(Boolean(Number("")) + !isNaN(Number(null)) + Boolean("parseInt([])") + typeof !(null));
            //
            parseFloat('1.6px') + parseInt('1.2px') + typeof parseInt(null) // 1.6 + 1 + 'number' => 2.6number
            console.log(parseFloat('1.6px') + parseInt('1.2px') + typeof parseInt(null));
            // 
            isNaN(Number(!!Number(parseInt("0.8")))) // isNaN(0) ==> false
            console.log(isNaN(Number(!!Number(parseInt("0.8")))));
            //
            !typeof (isNaN("")) + parseInt(NaN) // false + NaN
            console.log(!typeof (isNaN("")) + parseInt(NaN));
            // 
            typeof !parseInt(null) + !isNaN(null) // 'boolean' + true
            console.log(typeof !parseInt(null) + !isNaN(null)); // 'booleantrue'          
        </code>
     </pre>
     <script> hljs.highlightAll(); </script>
     <script>
        // 
        console.log(!(!"Number(undefined)"));// !(!true) = true
        // 
        isNaN(parseInt(new Date())) + Number([1]) + typeof undefined
        console.log(isNaN(parseInt(new Date())) + Number([1]) + typeof undefined); // is(NaN) => true ==> // true + 1 + 'undefined'
        // 
        Boolean(Number("")) + !isNaN(Number(null)) + Boolean("parseInt([])") + typeof !(null) // false + true + true + 'Boolean' ==> 2Bollean
        console.log(Boolean(Number("")) + !isNaN(Number(null)) + Boolean("parseInt([])") + typeof !(null));
        //
        parseFloat('1.6px') + parseInt('1.2px') + typeof parseInt(null) // 1.6 + 1 + 'number' => 2.6number
        console.log(parseFloat('1.6px') + parseInt('1.2px') + typeof parseInt(null));
        // 
        isNaN(Number(!!Number(parseInt("0.8")))) // isNaN(0) ==> false
        console.log(isNaN(Number(!!Number(parseInt("0.8")))));
        //
        !typeof (isNaN("")) + parseInt(NaN) // false + NaN
        console.log(!typeof (isNaN("")) + parseInt(NaN));
        // 
        typeof !parseInt(null) + !isNaN(null) // 'boolean' + true
        console.log(typeof !parseInt(null) + !isNaN(null)); // 'booleantrue'
     </script>
</body>
</html>